<?php
/*
 * Copyright 2015 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

error_reporting(E_ALL);
require dirname(__DIR__) . '/vendor/autoload.php';
date_default_timezone_set('UTC');

function getHandler(array $mockResponses = [])
{
    $mock = new \GuzzleHttp\Handler\MockHandler($mockResponses);

    $handler = \GuzzleHttp\HandlerStack::create($mock);
    $client = new \GuzzleHttp\Client(['handler' => $handler]);

    return new \Google\Auth\HttpHandler\Guzzle6HttpHandler($client);
}

function setHomeEnv(string|null $value): void
{
    $assigment = sprintf(
        '%s%s%s',
        PHP_OS_FAMILY === 'Windows' ? 'APPDATA' : 'HOME',
        $value === null ? '' : '=',
        (string) $value
    );

    putenv($assigment);
}
